home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 21 / AACD 21.iso / AACD / Games / JST / sources / OSEmu / utility.s < prev    next >
Encoding:
Text File  |  2001-03-19  |  1.1 KB  |  48 lines

  1. * $Id: utility.s 1.1 1999/02/03 04:08:28 jotd Exp $
  2.  
  3.  
  4. **************************************************************************
  5. *   UTILITY-LIBRARY                                                    *
  6. **************************************************************************
  7. **************************************************************************
  8. *   INITIALIZATION                                                       *
  9. **************************************************************************
  10.  
  11. UTILINIT    move.l    _utilbase,d0
  12.         beq    .init
  13.         rts
  14.  
  15. .init        move.l    #162,d0        ; reserved function
  16.         move.l    #80,d1        ; 20 variables: should be OK
  17.         lea    _utilname,a0
  18.         bsr    _InitLibrary
  19.         move.l    d0,a0
  20.         move.l    d0,_utilbase
  21.  
  22.         movem.l    D0/A6,-(A7)
  23.         move.l    $4.W,A6
  24.         move.b    AttnFlags+1(A6),D0
  25.         btst    #AFB_68020,D0
  26.         beq.s    .skip            ; no utility support for 68000/68010
  27.         patch    _LVOUDivMod32(a0),_UDivMod32        ; 68020
  28.         patch    _LVOUMult32(a0),_UMult32
  29. .skip
  30.         movem.l    (A7)+,D0/A6
  31.         rts
  32.  
  33.     IFND    HARRY
  34.      MC68020
  35.     ENDC
  36.  
  37. _UMult32:
  38.     mulu.l    D1,D0
  39.     rts
  40.  
  41. _UDivMod32:
  42.     divul.l    D1,D1:D0
  43.     rts
  44.  
  45.     IFND    HARRY
  46.      MC68000
  47.     ENDC
  48.